

using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient;
using System.Text;
using System.IO;
using System.Data;
using System.Web;
public partial class motos
{



    public static List<motos> getListmotosByidmarcasmotos(int idmarcasmotos)
    {

        List<motos> listamotos = new List<motos>
      ();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where idmarcasmotos=" + sf.cadena(idmarcasmotos); reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();

                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {
        }
        finally
        {
            db.Dispose();
        }
        return listamotos;
    }


    public static List<motos> getListByBusquedaAmpliada(string cadena,int idmarca, int year,int cilindrada, int precio )
    {

        /*Precios
         * 
         * 
         * 1= hasta 500
         * 2= hasta 1000  
         * 3= hasta 2000  
         * 4= hasta 4000  
         * 5= hasta 6000  
         * 6= hasta 8000  
         * 7= hasta 10000  
         * 8= hasta 15000  
         * 9= mas de 15000  
         
         */
        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string o = "";
  
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos";
            sqlt += " where 1!=0 ";
            if (cadena != "" | idmarca != 0 | year != 0 | cilindrada != 0 | precio != 0)
                sqlt += " and (";
            if (cadena != "")
            {
                sqlt += "  nombre like '%" + cadena + "%'";
                sqlt += " or referencia like '%" + cadena + "%'";
                sqlt += " or descripcion like '%" + cadena + "%'";
                sqlt += " or imagen like '%" + cadena + "%'";
             
                sqlt += " or modelo like '%" + cadena + "%'";
                sqlt += " or caracteristicas like '%" + cadena + "%'";
                sqlt += " or color like '%" + cadena + "%'";
           

             //   sqlt += " or cilindrada like '%" + cadena + "%'";
                sqlt += " or km like '%" + cadena + "%'";
                //sqlt += " or garantia like '%" + cadena + "%'";
           //     sqlt += " or year like '%" + cadena + "%'";
                o = " and";  
            }
           
            if (idmarca != 0)
            {
                
                sqlt += o + " idmarcasmotos=" + idmarca;
                o = " and"; 
            }
            if (year != 0)
            {
                sqlt += o + " year=" + year;
                o = " and"; 
            }
            if (cilindrada != 0)
            {
                sqlt += o + " cilindrada>= " + cilindrada + " ";
                o = " and";
            }
            if (precio != 0 )
            {
                  
 

                if (precio == 1)
                    sqlt += o+" precio<='2000'";
                if (precio == 2)
                    sqlt += o+" precio<='6000'";
                if (precio == 3)
                    sqlt += o+" precio<='10000'";
                if (precio == 4)
                    sqlt += o+" precio<='15000'";
                if (precio == 5)
                    sqlt += o+" precio>'15000'";
 


 
            }

           
            if (cadena != "" | idmarca != 0 | year != 0 | cilindrada != 0 | precio != 0)
                sqlt += " )";
            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());



                pp.nombre = sf.cadena(reg["nombre"].ToString());



                pp.referencia = sf.cadena(reg["referencia"].ToString());



                pp.descripcion = sf.cadena(reg["descripcion"].ToString());



                pp.imagen = sf.cadena(reg["imagen"].ToString());



                pp.marca = sf.cadena(reg["marca"].ToString());



                pp.modelo = sf.cadena(reg["modelo"].ToString());



                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());



                pp.novedad = sf.Bool(reg["novedad"].ToString());



                pp.oferta = sf.Bool(reg["oferta"].ToString());



                pp.precio = sf.doble(reg["precio"].ToString());



                pp.stock = sf.entero(reg["stock"].ToString());



                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());



                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());



                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());



                pp.color = sf.cadena(reg["color"].ToString());



                pp.outlet = sf.Bool(reg["outlet"].ToString());



                pp.version = sf.cadena(reg["version"].ToString());



                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());



                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());



                pp.km = sf.cadena(reg["km"].ToString());



                pp.garantia = sf.cadena(reg["garantia"].ToString());



                pp.year = sf.cadena(reg["year"].ToString());



                pp.fecha = sf.fecha(reg["fecha"].ToString());



                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListmotosByidcategoriasmotos(int idcategoriasmotos, int x, int idorigen)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where idcategoriasmotos=" + sf.cadena(idcategoriasmotos);




            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                if (listamotos.Count < x & pp.idmotos != idorigen)
                    listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static motos getmotosDestacados(int idtemporadas)
    {
        motos motosx = new motos();
        MySqlDataReader reg;
        string sqlt;
        motos pp = new motos();

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos";
            sqlt += " where 1!=0";

            sqlt += " and idtemporadas=" + sf.cadena(idtemporadas);

            sqlt += " and novedad=1";


 



            reg = db.sql(sqlt);
            if (reg.Read())
            {


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

            }
            reg.Close();
        }
        catch (Exception ex)
        {
            // Argument is optional, no "When" keyword 
        }
        finally
        {
            db.Dispose();

        }
        return pp;
    }

    public static List<motos> getxListmotosByidtemporadas(int idtemporadas, int x)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where idtemporadas=" + sf.cadena(idtemporadas);




            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                if (listamotos.Count < x)
                    listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListByCategorias(List<string> listacats, int idmarcasmotos, string busqueda)
    {

     
        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " ";
        string fin = ") ";

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where 1!=0";

 



            if (idmarcasmotos != 0)
                sqlt += " and idmarcasmotos=" + idmarcasmotos;
            foreach (string ids in listacats)
            {
                if (idmarcasmotos != 0)
                {
                    if (sf.entero(ids) != 0)
                    {
                        //   sqlt += ini;
                        if (ini != "")
                            sqlt += " and (idcategoriasmotos= " + ids;
                        else
                            sqlt += " or idcategoriasmotos= " + ids;

                    }
                }
                else
                {
                    if (sf.entero(ids) != 0)
                    {
                        //   sqlt += ini;
                        if (ini != "")
                            sqlt += " and (idcategoriasmotos= " + ids;
                        else
                            sqlt += " or idcategoriasmotos= " + ids;

                    }

                }

                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;
            if (busqueda != "")
            {
                sqlt += " and (nombre like '%" + busqueda + "%'";
                sqlt += " or marca like '%" + busqueda + "%'";
                sqlt += " or descripcion like '%" + busqueda + "%'";
                sqlt += " or referencia like '%" + busqueda + "%'";
                sqlt += " or modelo like '%" + busqueda + "%'";
                sqlt += " or caracteristicas like '%" + busqueda + "%'";
                sqlt += ")";


            }

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    public static List<motos> getListByMarcas(List<string> listamarcas, string busqueda, int precio, int year)
    {


        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        bool ini =true;
        string fin = ") ";

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where 1!=0";


            if (year != 0)
            {
                sqlt += " and year>=" +year + " ";
            }
            if (precio != 0)
            {
        


                    if (precio == 1)
                        sqlt +=  " and precio<='2000'";
                    if (precio == 2)
                        sqlt += " and precio<='6000'";
                    if (precio == 3)
                        sqlt += " and precio<='10000'";
                    if (precio == 4)
                        sqlt += " and precio<='15000'";
                    if (precio == 5)
                        sqlt += " and precio>'15000'";



 
            }


 
            foreach (string ids in listamarcas)
            {
 
                    if (sf.entero(ids) != 0)
                    {
                        //   sqlt += ini;
                        if (ini)
                        {
                            sqlt += " and (idmarcasmotos= " + ids;
                            ini = false;
                        }
                        else
                            sqlt += " or idmarcasmotos= " + ids;

                    }
 
 

            }
            if (listamarcas.Count > 0)
                sqlt += fin;
            if (busqueda != "")
            {
                sqlt += " and (nombre like '%" + busqueda + "%'";
                sqlt += " or marca like '%" + busqueda + "%'";
                sqlt += " or descripcion like '%" + busqueda + "%'";
                sqlt += " or referencia like '%" + busqueda + "%'";
                sqlt += " or modelo like '%" + busqueda + "%'";
                sqlt += " or caracteristicas like '%" + busqueda + "%'";
                sqlt += ")";


            }

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListByCategorias(int idcategoriasmotos, string busqueda)
    {


        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
 
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where 1!=0";





            if (idcategoriasmotos != 0)
                sqlt += " and idcategoriasmotos=" + idcategoriasmotos;
 
            if (busqueda != "")
            {
                sqlt += " and (nombre like '%" + busqueda + "%'";
                sqlt += " or marca like '%" + busqueda + "%'";
                sqlt += " or descripcion like '%" + busqueda + "%'";
                sqlt += " or referencia like '%" + busqueda + "%'";
                sqlt += " or modelo like '%" + busqueda + "%'";
                sqlt += " or caracteristicas like '%" + busqueda + "%'";
                sqlt += ")";


            }

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    public static List<motos> getListByCategoriasx(int idcategoriasmotos, string busqueda, int x)
    {


        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where 1!=0";





            if (idcategoriasmotos != 0)
                sqlt += " and idcategoriasmotos=" + idcategoriasmotos;

            if (busqueda != "")
            {
                sqlt += " and (nombre like '%" + busqueda + "%'";
                sqlt += " or marca like '%" + busqueda + "%'";
                sqlt += " or descripcion like '%" + busqueda + "%'";
                sqlt += " or referencia like '%" + busqueda + "%'";
                sqlt += " or modelo like '%" + busqueda + "%'";
                sqlt += " or caracteristicas like '%" + busqueda + "%'";
                sqlt += ")";


            }

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());
                pp.pimamarca = marcas.getmarcas(pp.idmarcasmotos).imagen;

                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
               if(listamotos.Count<x)
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getxListByCategorias(int idcategoriasmotos, string busqueda, int x)
    {


        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where 1!=0";





            if (idcategoriasmotos != 0)
                sqlt += " and idcategoriasmotos=" + idcategoriasmotos;

            if (busqueda != "")
            {
                sqlt += " and (nombre like '%" + busqueda + "%'";
                sqlt += " or marca like '%" + busqueda + "%'";
                sqlt += " or descripcion like '%" + busqueda + "%'";
                sqlt += " or referencia like '%" + busqueda + "%'";
                sqlt += " or modelo like '%" + busqueda + "%'";
                sqlt += " or caracteristicas like '%" + busqueda + "%'";
                sqlt += ")";


            }

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                if (listamotos.Count < x)
                    listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    
    public static List<motos> getListmotosByidtemporadas(int idtemporadas, List<string> listacats)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where idtemporadas=" + sf.cadena(idtemporadas);
 
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idcategoriasmotos= " + ids;
                    else
                        sqlt += " or idcategoriasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;

            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }



    public static List<motos> getListmotosNovedad()
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where novedad=1";




            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();



                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());


                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListmotosOfertas()
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where oferta=1";




            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();



                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());


                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListmotosOutlet(int x, List<string> listacats)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where outlet=1";
 
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idcategoriasmotos= " + ids;
                    else
                        sqlt += " or idcategoriasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;


            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                if (listamotos.Count < x)
                    listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    public static List<motos> getListmotosOferta(List<string> listacats)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where oferta=1";
 
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idcategoriasmotos= " + ids;
                    else
                        sqlt += " or idcategoriasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;



            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();



                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    public static List<motos> getxMotosNovedades(int x)//destacados
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where novedad=1";

 
 



            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();



                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                if (listamotos.Count < x)
                    listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListmotosOferta(List<string> listacats, string busqueda)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where oferta=1";
       
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idmarcasmotos= " + ids;
                    else
                        sqlt += " or idmarcasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;



            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    public static List<motos> getListmotosOutlet(List<string> listacats)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where outlet=1";
 
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idcategoriasmotos= " + ids;
                    else
                        sqlt += " or idcategoriasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;



            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }
    public static List<motos> getListmotosOutlet(List<string> listacats, string busqueda)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        string ini = " and (";
        string fin = ")";
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos ";
            sqlt += " where outlet=1";
 
            foreach (string ids in listacats)
            {

                if (sf.entero(ids) != 0)
                {
                    sqlt += ini;
                    if (ini != "")
                        sqlt += " idmarcasmotos= " + ids;
                    else
                        sqlt += " or idmarcasmotos= " + ids;

                }
                ini = "";

            }
            if (listacats.Count > 0)
                sqlt += fin;



            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();



                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

 
    public static List<motos> getListByPortal(int idportal)
    {

        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos where idportal=" + idportal;


            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();


                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }

    // returns number of registers in the table... (for pagination)
    public static int getCount()
    {

        MySqlDataReader reg;
        string sqlt;
        int retorno = 0;

        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select count(*) as cont from motos";

            reg = db.sql(sqlt);
            if (reg.Read())
            {
                retorno = sf.entero(reg["cont"].ToString());
            }
            else retorno = 0;

            reg.Close();
        }
        catch (Exception ex)
        {
            // Argument is optional, no "When" keyword 
        }
        finally
        {
            db.Dispose();

        }
        return retorno;
    } // count


    // devuelve una lista de motos para paginacion...

    public static List<motos> getPage(int num, int tamPag)
    {
        List<motos> listamotos = new List<motos>();
        MySqlDataReader reg;
        string sqlt;
        dbClass db = new dbClass(ctes.conStringAdoGeneral);
        try
        {
            sqlt = "select * from motos limit " + sf.cadena(num * tamPag) + "," + sf.cadena(tamPag);
            reg = db.sql(sqlt);
            while (reg.Read())
            {
                motos pp = new motos();

                pp.idmotos = sf.entero(reg["idmotos"].ToString());


                pp.nombre = sf.cadena(reg["nombre"].ToString());


                pp.referencia = sf.cadena(reg["referencia"].ToString());


                pp.descripcion = sf.cadena(reg["descripcion"].ToString());


                pp.imagen = sf.cadena(reg["imagen"].ToString());


                pp.marca = sf.cadena(reg["marca"].ToString());


                pp.modelo = sf.cadena(reg["modelo"].ToString());


                pp.caracteristicas = sf.cadena(reg["caracteristicas"].ToString());


                pp.novedad = sf.Bool(reg["novedad"].ToString());


                pp.oferta = sf.Bool(reg["oferta"].ToString());


                pp.precio = sf.doble(reg["precio"].ToString());


                pp.stock = sf.entero(reg["stock"].ToString());


                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());


                pp.idmarcasmotos = sf.entero(reg["idmarcasmotos"].ToString());


                pp.idtemporadas = sf.entero(reg["idtemporadas"].ToString());


                pp.color = sf.cadena(reg["color"].ToString());


                pp.outlet = sf.Bool(reg["outlet"].ToString());


                pp.version = sf.cadena(reg["version"].ToString());


                pp.idtiposmotos = sf.entero(reg["idtiposmotos"].ToString());


                pp.cilindrada = sf.entero(reg["cilindrada"].ToString());


                pp.km = sf.cadena(reg["km"].ToString());


                pp.garantia = sf.cadena(reg["garantia"].ToString());


                pp.year = sf.cadena(reg["year"].ToString());


                pp.fecha = sf.fecha(reg["fecha"].ToString());


                pp.fechaorigen = sf.fecha(reg["fechaorigen"].ToString());

                pp.idcategoriasmotos = sf.entero(reg["idcategoriasmotos"].ToString());
                listamotos.Add(pp);
            }
            reg.Close();
        }
        catch (Exception ex)
        {

        }
        finally
        {
            db.Dispose();

        }
        return listamotos;
    }  // getPage





}
